package tests;

import common.Utils;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;

/**
 * 特殊测试:编辑页面
 * 由于markdown是第三方库，无法直接测试博客的发布功能,但是默认情况下页面编辑已有默认内容，
 * 但是我们可以测试编辑页面的标题,因为标题是我自己实现的HTML元素
 */
public class EditPage extends Utils {

    public static String url = "http://127.0.0.1:8080/blog_edit.html";
    public EditPage() {
        super(url);
    }

    /**
     * 发布博客测试
     * 无法输入博客内容怎么解决----->两种方式
     */
    public void EditSuc() throws InterruptedException {
        //①方式1:博客本身就有默认内容,无需手动实现
        WebElement ele = driver.findElement(By.cssSelector("#title"));
        Thread.sleep(6000); //等待2秒钟，查看输入的效果
        ele.sendKeys("乌萨奇的博客");
    Thread.sleep(2000); //等待2秒钟，查看输入的效果
        driver.findElement(By.cssSelector("#submit")).click();
        //------------
        //点击弹窗的确认按钮->跳转到博客列表页
        Thread.sleep(1000);
        driver.switchTo().alert().accept();

        //②方式2:通过鼠标操作来实现---这里就不实现了,有点麻烦...

        //检查博客发布之后是否成功在列表页展示出
        WebElement exceptArticleTitle = driver.findElement(By.cssSelector("body > div.container > div.right > div:nth-child(1) > div.title"));
        String exceptTitle = exceptArticleTitle.getText();
        assert exceptTitle.equals("乌萨奇的博客") : "编辑页面发布博客失败，标题不正确！";
    }
}
